package JavaEE_notes.common_API.Network;

import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import java.util.List;

/**
 * 多线程改进的TCP 通信服务
 * @author TaiZai
 * @data 2024/9/26 14:12
 */
public class TCP_Server_Thread {
    public static List<Socket> onLineSockets = new ArrayList<>();
    public static void main(String[] args) throws Exception {
        // 1、创建ServerSocket的对象，同时为服务端注册端口
        ServerSocket serverSocket = new ServerSocket(7878);
        // 2、循环监听客户端的连接
        while (true) {
            Socket socket = serverSocket.accept();
            onLineSockets.add(socket);
            System.out.println("有人上线了：" + socket.getRemoteSocketAddress());
            // 3、为每一个客户端创建一个新的线程来处理请求
            new ServerReaderThread(socket).start();
        }
    }
}
